package org.gr.ias.common.entity;

import java.io.Serializable;

public class CapitalInvestmentWithBLOBs extends CapitalInvestment implements Serializable {
    /** 投资要求概述*/
    private String investmentRequirement;

    /** 投资案例*/
    private String investmentCase;

    /** 其他备注*/
    private String remark;

    /** 审核备注(包括但不限于记录锁定、关闭、加入黑名单等原因)*/
    private String approveRemark;

    private static final long serialVersionUID = 1L;

    public String getInvestmentRequirement() {
        return investmentRequirement;
    }

    public void setInvestmentRequirement(String investmentRequirement) {
        this.investmentRequirement = investmentRequirement == null ? null : investmentRequirement.trim();
    }

    public String getInvestmentCase() {
        return investmentCase;
    }

    public void setInvestmentCase(String investmentCase) {
        this.investmentCase = investmentCase == null ? null : investmentCase.trim();
    }

    public String getRemark() {
        return remark;
    }

    public void setRemark(String remark) {
        this.remark = remark == null ? null : remark.trim();
    }

    public String getApproveRemark() {
        return approveRemark;
    }

    public void setApproveRemark(String approveRemark) {
        this.approveRemark = approveRemark == null ? null : approveRemark.trim();
    }

    @Override
    public boolean equals(Object that) {
        if (this == that) {
            return true;
        }
        if (that == null) {
            return false;
        }
        if (getClass() != that.getClass()) {
            return false;
        }
        CapitalInvestmentWithBLOBs other = (CapitalInvestmentWithBLOBs) that;
        return (this.getId() == null ? other.getId() == null : this.getId().equals(other.getId()))
            && (this.getInvestmentCategory() == null ? other.getInvestmentCategory() == null : this.getInvestmentCategory().equals(other.getInvestmentCategory()))
            && (this.getTitle() == null ? other.getTitle() == null : this.getTitle().equals(other.getTitle()))
            && (this.getCapitalSubject() == null ? other.getCapitalSubject() == null : this.getCapitalSubject().equals(other.getCapitalSubject()))
            && (this.getProvinceId() == null ? other.getProvinceId() == null : this.getProvinceId().equals(other.getProvinceId()))
            && (this.getCityId() == null ? other.getCityId() == null : this.getCityId().equals(other.getCityId()))
            && (this.getCountryId() == null ? other.getCountryId() == null : this.getCountryId().equals(other.getCountryId()))
            && (this.getAddress() == null ? other.getAddress() == null : this.getAddress().equals(other.getAddress()))
            && (this.getEffectiveTimeStart() == null ? other.getEffectiveTimeStart() == null : this.getEffectiveTimeStart().equals(other.getEffectiveTimeStart()))
            && (this.getEffectiveTimeEnd() == null ? other.getEffectiveTimeEnd() == null : this.getEffectiveTimeEnd().equals(other.getEffectiveTimeEnd()))
            && (this.getInvestmentIndustryId() == null ? other.getInvestmentIndustryId() == null : this.getInvestmentIndustryId().equals(other.getInvestmentIndustryId()))
            && (this.getInvestmentIndustry() == null ? other.getInvestmentIndustry() == null : this.getInvestmentIndustry().equals(other.getInvestmentIndustry()))
            && (this.getInvestmentDistrictId() == null ? other.getInvestmentDistrictId() == null : this.getInvestmentDistrictId().equals(other.getInvestmentDistrictId()))
            && (this.getInvestmentDistrict() == null ? other.getInvestmentDistrict() == null : this.getInvestmentDistrict().equals(other.getInvestmentDistrict()))
            && (this.getInvestmentAmtStart() == null ? other.getInvestmentAmtStart() == null : this.getInvestmentAmtStart().equals(other.getInvestmentAmtStart()))
            && (this.getInvestmentAmtStartUnit() == null ? other.getInvestmentAmtStartUnit() == null : this.getInvestmentAmtStartUnit().equals(other.getInvestmentAmtStartUnit()))
            && (this.getInvestmentAmtEnd() == null ? other.getInvestmentAmtEnd() == null : this.getInvestmentAmtEnd().equals(other.getInvestmentAmtEnd()))
            && (this.getInvestmentAmtEndUnit() == null ? other.getInvestmentAmtEndUnit() == null : this.getInvestmentAmtEndUnit().equals(other.getInvestmentAmtEndUnit()))
            && (this.getUpfrontCharge() == null ? other.getUpfrontCharge() == null : this.getUpfrontCharge().equals(other.getUpfrontCharge()))
            && (this.getMaterialNeeded() == null ? other.getMaterialNeeded() == null : this.getMaterialNeeded().equals(other.getMaterialNeeded()))
            && (this.getMaterialRemark() == null ? other.getMaterialRemark() == null : this.getMaterialRemark().equals(other.getMaterialRemark()))
            && (this.getTag() == null ? other.getTag() == null : this.getTag().equals(other.getTag()))
            && (this.getCreateUser() == null ? other.getCreateUser() == null : this.getCreateUser().equals(other.getCreateUser()))
            && (this.getCreateUserName() == null ? other.getCreateUserName() == null : this.getCreateUserName().equals(other.getCreateUserName()))
            && (this.getCreateTime() == null ? other.getCreateTime() == null : this.getCreateTime().equals(other.getCreateTime()))
            && (this.getModifyTime() == null ? other.getModifyTime() == null : this.getModifyTime().equals(other.getModifyTime()))
            && (this.getApproveUser() == null ? other.getApproveUser() == null : this.getApproveUser().equals(other.getApproveUser()))
            && (this.getApproveUserName() == null ? other.getApproveUserName() == null : this.getApproveUserName().equals(other.getApproveUserName()))
            && (this.getApproveTime() == null ? other.getApproveTime() == null : this.getApproveTime().equals(other.getApproveTime()))
            && (this.getThumbnail() == null ? other.getThumbnail() == null : this.getThumbnail().equals(other.getThumbnail()))
            && (this.getAttachment() == null ? other.getAttachment() == null : this.getAttachment().equals(other.getAttachment()))
            && (this.getStatus() == null ? other.getStatus() == null : this.getStatus().equals(other.getStatus()))
            && (this.getVersion() == null ? other.getVersion() == null : this.getVersion().equals(other.getVersion()))
            && (this.getInvestmentRequirement() == null ? other.getInvestmentRequirement() == null : this.getInvestmentRequirement().equals(other.getInvestmentRequirement()))
            && (this.getInvestmentCase() == null ? other.getInvestmentCase() == null : this.getInvestmentCase().equals(other.getInvestmentCase()))
            && (this.getRemark() == null ? other.getRemark() == null : this.getRemark().equals(other.getRemark()))
            && (this.getApproveRemark() == null ? other.getApproveRemark() == null : this.getApproveRemark().equals(other.getApproveRemark()));
    }

    @Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((getId() == null) ? 0 : getId().hashCode());
        result = prime * result + ((getInvestmentCategory() == null) ? 0 : getInvestmentCategory().hashCode());
        result = prime * result + ((getTitle() == null) ? 0 : getTitle().hashCode());
        result = prime * result + ((getCapitalSubject() == null) ? 0 : getCapitalSubject().hashCode());
        result = prime * result + ((getProvinceId() == null) ? 0 : getProvinceId().hashCode());
        result = prime * result + ((getCityId() == null) ? 0 : getCityId().hashCode());
        result = prime * result + ((getCountryId() == null) ? 0 : getCountryId().hashCode());
        result = prime * result + ((getAddress() == null) ? 0 : getAddress().hashCode());
        result = prime * result + ((getEffectiveTimeStart() == null) ? 0 : getEffectiveTimeStart().hashCode());
        result = prime * result + ((getEffectiveTimeEnd() == null) ? 0 : getEffectiveTimeEnd().hashCode());
        result = prime * result + ((getInvestmentIndustryId() == null) ? 0 : getInvestmentIndustryId().hashCode());
        result = prime * result + ((getInvestmentIndustry() == null) ? 0 : getInvestmentIndustry().hashCode());
        result = prime * result + ((getInvestmentDistrictId() == null) ? 0 : getInvestmentDistrictId().hashCode());
        result = prime * result + ((getInvestmentDistrict() == null) ? 0 : getInvestmentDistrict().hashCode());
        result = prime * result + ((getInvestmentAmtStart() == null) ? 0 : getInvestmentAmtStart().hashCode());
        result = prime * result + ((getInvestmentAmtStartUnit() == null) ? 0 : getInvestmentAmtStartUnit().hashCode());
        result = prime * result + ((getInvestmentAmtEnd() == null) ? 0 : getInvestmentAmtEnd().hashCode());
        result = prime * result + ((getInvestmentAmtEndUnit() == null) ? 0 : getInvestmentAmtEndUnit().hashCode());
        result = prime * result + ((getUpfrontCharge() == null) ? 0 : getUpfrontCharge().hashCode());
        result = prime * result + ((getMaterialNeeded() == null) ? 0 : getMaterialNeeded().hashCode());
        result = prime * result + ((getMaterialRemark() == null) ? 0 : getMaterialRemark().hashCode());
        result = prime * result + ((getTag() == null) ? 0 : getTag().hashCode());
        result = prime * result + ((getCreateUser() == null) ? 0 : getCreateUser().hashCode());
        result = prime * result + ((getCreateUserName() == null) ? 0 : getCreateUserName().hashCode());
        result = prime * result + ((getCreateTime() == null) ? 0 : getCreateTime().hashCode());
        result = prime * result + ((getModifyTime() == null) ? 0 : getModifyTime().hashCode());
        result = prime * result + ((getApproveUser() == null) ? 0 : getApproveUser().hashCode());
        result = prime * result + ((getApproveUserName() == null) ? 0 : getApproveUserName().hashCode());
        result = prime * result + ((getApproveTime() == null) ? 0 : getApproveTime().hashCode());
        result = prime * result + ((getThumbnail() == null) ? 0 : getThumbnail().hashCode());
        result = prime * result + ((getAttachment() == null) ? 0 : getAttachment().hashCode());
        result = prime * result + ((getStatus() == null) ? 0 : getStatus().hashCode());
        result = prime * result + ((getVersion() == null) ? 0 : getVersion().hashCode());
        result = prime * result + ((getInvestmentRequirement() == null) ? 0 : getInvestmentRequirement().hashCode());
        result = prime * result + ((getInvestmentCase() == null) ? 0 : getInvestmentCase().hashCode());
        result = prime * result + ((getRemark() == null) ? 0 : getRemark().hashCode());
        result = prime * result + ((getApproveRemark() == null) ? 0 : getApproveRemark().hashCode());
        return result;
    }

    @Override
    public String toString() {
        StringBuilder sb = new StringBuilder();
        sb.append(getClass().getSimpleName());
        sb.append(" [");
        sb.append("Hash = ").append(hashCode());
        sb.append(", investmentRequirement=").append(investmentRequirement);
        sb.append(", investmentCase=").append(investmentCase);
        sb.append(", remark=").append(remark);
        sb.append(", approveRemark=").append(approveRemark);
        sb.append(", serialVersionUID=").append(serialVersionUID);
        sb.append("]");
        return sb.toString();
    }
}